home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 October: Mac OS SDK / Dev.CD Oct 96 SDK / Dev.CD Oct 96 SDK2.toast / Development Kits (Disc 2) / OpenDoc Development Framework / ODFDev / ODF / Framewrk / FWViews / Include / FWSclBar.h < prev    next >
Encoding:
Text File  |  1996-08-16  |  3.1 KB  |  108 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                FWSclBar.h
  4. //    Release Version:    $ ODF 1 $
  5. //
  6. //    Copyright:    (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
  7. //
  8. //========================================================================================
  9.  
  10. #ifndef FWSCLBAR_H
  11. #define FWSCLBAR_H
  12.  
  13. #ifndef FWCONTRL_H
  14. #include "FWContrl.h"
  15. #endif
  16.  
  17. #ifndef FWRUNTYP_H
  18. #include "FWRunTyp.h"
  19. #endif
  20.  
  21. #ifndef FWNOTIFR_H
  22. #include "FWNotifr.h"
  23. #endif
  24.  
  25. #ifndef FWNOTIFN_H
  26. #include "FWNotifn.h"
  27. #endif
  28.  
  29. #ifndef FWPRIDEB_H
  30. #include "FWPriDeb.h"
  31. #endif
  32.  
  33. //========================================================================================
  34. //    Foward class declarations
  35. //========================================================================================
  36.  
  37. class FW_CViewContext;
  38. class FW_CActivateEvent;
  39.  
  40. //========================================================================================
  41. //    CLASS FW_CScrollBar
  42. //========================================================================================
  43.  
  44. class FW_CScrollBar : public FW_CNativeControl
  45. {
  46. // ----- Constants
  47. public:
  48.     FW_DECLARE_AUTO(FW_CScrollBar)
  49.     
  50.     enum { kDefaultScrollMin =  0, kDefaultScrollMax = 100, kDefaultScrollPos = 0 };
  51.     
  52. // ----- Initialization/destruction
  53.     FW_DECLARE_CLASS
  54.  
  55.     FW_CScrollBar(Environment* ev, 
  56.                   FW_CSuperView* container,
  57.                   ODID id,
  58.                   const FW_CRect& bounds);
  59.     FW_CScrollBar(Environment* ev);
  60.     virtual ~FW_CScrollBar();
  61.  
  62. // ----- Inherited API
  63.     virtual void        DoActivateEvent(Environment *ev, const FW_CActivateEvent& theActivateEvent);
  64.     virtual void        ControlClicked(Environment *ev, FW_ControlValue value, ODFacet* facet);
  65.                                         
  66. // ----- New API
  67.     virtual void        SetMinorScrollUnits(Environment *ev, FW_Fixed units);
  68.     FW_Fixed            GetMinorScrollUnits(Environment *ev) const;
  69.     
  70.     virtual void        SetMajorScrollUnits(Environment *ev, FW_Fixed units);
  71.     FW_Fixed            GetMajorScrollUnits(Environment *ev) const;
  72.  
  73.     virtual void        SetScrollMax(Environment *ev, FW_Fixed units);
  74.     FW_Fixed            GetScrollMax(Environment *ev) const;
  75.     
  76.     virtual void        SetScrollMin(Environment *ev, FW_Fixed units);
  77.     FW_Fixed            GetScrollMin(Environment *ev) const;
  78.     
  79.     virtual void        SetScrollPos(Environment *ev, FW_Fixed units);
  80.     virtual void        SetScrollPos(Environment *ev, FW_Fixed range, FW_Fixed pos);
  81.     FW_Fixed            GetScrollPos(Environment *ev) const;
  82.     
  83.     void                ScrollPositionChanged(Environment *ev, FW_Fixed delta, 
  84.                                         FW_Boolean shouldlScroll = TRUE);
  85.  
  86.     static FW_CPoint    GetDefaultScrollBarSize();
  87.  
  88. // ----- Archiving -----
  89.     static void*        Create(FW_CReadableStream& stream, FW_ClassTypeConstant type);
  90.     static void            Destroy(void* object, FW_ClassTypeConstant type);
  91.     virtual void        Flatten(Environment*ev, FW_CWritableStream& stream) const;
  92.     virtual void        InitializeFromStream(Environment*ev, FW_CReadableStream& stream);
  93.  
  94. protected:
  95.     // ----- Internal use only
  96.     virtual FW_Boolean     PrivSetValue(Environment* ev, FW_ControlValue value, ODFacet* facet);
  97.  
  98. private:
  99.     void                 Initialize(Environment *ev, FW_ControlValue value, 
  100.                                     FW_ControlValue min,FW_ControlValue max);
  101. private:
  102.     FW_Fixed            fMinorScrollUnits;
  103.     FW_Fixed            fMajorScrollUnits;
  104. };
  105.  
  106.  
  107. #endif
  108.